﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Bodega2.AccesoDatos;
namespace Bodega2.LogicaNegocio
{
    class C_producto
    {
        public static bool verificar_Producto(string nombre)
        {
            BodegaEntities db = new BodegaEntities();
            return db.Producto.Any(p => p.Nombre == nombre);
        }
        public static Producto buscar_producto(string nombre)
        {
            BodegaEntities db = new BodegaEntities();
            return db.Producto.SingleOrDefault(p => p.Nombre == nombre);
        }
        public static Producto ModifyUser(Producto pro)
        {
            BodegaEntities db = new BodegaEntities();
            db.SaveChanges();
            return pro;
        }
        public static bool guardar_producto(string nombre, string precio, string cantidad, string categoria, string marca, string modelo)
        {
            if (verificar_Producto(nombre) == true)
            {
                return false;
            }
            else
            {
                    BodegaEntities db = new BodegaEntities();
                    int PRECIO = Convert.ToInt32(precio);
                    int CANTIDAD = Convert.ToInt32(cantidad);
                    Categoria cat = new Categoria
                    {
                        Categoria1 = categoria
                    };
                    db.Categoria.Add(cat);
                    db.SaveChanges();
                    Marca ma = new Marca
                    {
                        Marca1 = marca
                    };
                    db.Marca.Add(ma);
                    db.SaveChanges();
                    Modelo mo = new Modelo
                    {
                        Modelo1 = modelo
                    };
                    db.Modelo.Add(mo);
                    db.SaveChanges();

                    Producto pro = new Producto
                    {
                        Nombre = nombre,
                        Cantidad = CANTIDAD,
                        Precio = PRECIO,
                        ID_categoria = cat.ID_categoria,
                        ID_marca = ma.ID_marca,
                        ID_modelo = mo.ID_modelo
                    };
                    db.Producto.Add(pro);
                    db.SaveChanges();
                    return true; 
              
                }
            
            }
               
        public static bool modificar_producto(string nombre,string precio,string cantidad)
    {
        BodegaEntities db = new BodegaEntities();
        Producto pro = db.Producto.FirstOrDefault(p => p.Nombre == nombre);
        pro.Precio = Convert.ToInt32(precio);
        pro.Cantidad = Convert.ToInt32(cantidad);
        db.SaveChanges();
        return true;
    }
        public static bool Eliminar_producto(string nombre,string precio,string cantidad,string categoria,string marca,string modelo)
        {
            int ca = Convert.ToInt32(categoria);
            int ma = Convert.ToInt32(marca);
            int mo = Convert.ToInt32(modelo);
            BodegaEntities db = new BodegaEntities();
            Producto pro = db.Producto.FirstOrDefault(p => p.Nombre == nombre);
            Categoria cate = db.Categoria.FirstOrDefault(c => c.ID_categoria == ca);
            Marca mar = db.Marca.FirstOrDefault(m=>m.ID_marca==ma);
            Modelo mode = db.Modelo.FirstOrDefault(m=>m.ID_modelo==mo);
            db.Modelo.Remove(mode);
            db.Marca.Remove(mar);
            db.Categoria.Remove(cate);
           db.Producto.Remove(pro);
            db.SaveChanges();
            return true;
        }
           }   
      }

        
    
        

    

